These routines provide a mechanism for decoding linear (or longitudinal)
time code (LTC). LTC is a mechanism for storing and transferring SMPTE
time code as an audio-like waveform. Applications may use LTC to
synchronize audio, video, or other events with external devices by
decoding an LTC signal connected to an audio input port, or they may
parse the LTC code from a previously captured audio or movie file.
To decode LTC from an external device, the LTC or time code output of the
device should be connected to an audio input channel on the workstation.
The application then opens an audio port using the audio library (see
AAAALLLLiiiinnnnttttrrrroooo(3dm)).
In order to decode LTC, you first create a LTC decoder using
ddddmmmmLLLLTTTTCCCCDDDDeeeeccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee. The _t_c__t_y_p_e parameter tells the decoder what format
and rate of timecode to expect. The possible values for _t_c__t_y_p_e, defined
in <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____ttttiiiimmmmeeeeccccooooddddeeee....hhhh>>>>, are explained in ttttcccc____ttttyyyyppppeeee(3dm). The
ddddmmmmLLLLTTTTCCCCDDDDeeeeccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee routine only pays attention to the DM_TC_FORMAT and
DM_TC_RATE bits of the passed-in _t_c__t_y_p_e, since it will be able to
determine the drop-frame/non-drop-frame status from the LTC code itself.
The currently supported timecode formats are DDDDMMMM____TTTTCCCC____FFFFOOOORRRRMMMMAAAATTTT____NNNNTTTTSSSSCCCC,
DDDDMMMM____TTTTCCCC____FFFFOOOORRRRMMMMAAAATTTT____PPPPAAAALLLL, and DDDDMMMM____TTTTCCCC____FFFFOOOORRRRMMMMAAAATTTT____FFFFIIIILLLLMMMM. The currently supported
timecode rate values are DDDDMMMM____TTTTCCCC____RRRRAAAATTTTEEEE____2222999999997777, DDDDMMMM____TTTTCCCC____RRRRAAAATTTTEEEE____33330000, DDDDMMMM____TTTTCCCC____RRRRAAAATTTTEEEE____22224444,
and DDDDMMMM____TTTTCCCC____RRRRAAAATTTTEEEE____22225555.
The value returned by ddddmmmmLLLLTTTTCCCCDDDDeeeeccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee must be passed to all of the
other LTC routines. It may be freed by calling DDDDMMMMLLLLTTTTCCCCDDDDeeeeccccooooddddeeeerrrrDDDDeeeessssttttrrrrooooyyyy.